package com.ruoyi.basebill.domain;

import java.math.BigDecimal;
import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * OMS销售订单对象 t_oms_saleorderbill
 *
 * @author ruoyi
 * @date 2023-02-08
 */
public class OmsSaleorderbill extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long id;

    /** 销售订单 */
    @Excel(name = "销售订单",needMerge = true)
    private String code;

    /** 来源平台 */
    @Excel(name = "来源平台",needMerge = true)
    private String sourceplatformcode;

    /** 来源类型 */
    @Excel(name = "来源类型",needMerge = true)
    private String sourceordertype;

    /** 报货类型 */
    @Excel(name = "报货类型",needMerge = true)
    private String potype;

    /** 客户编码 */
    @Excel(name = "客户编码",needMerge = true)
    private String customercode;

    /** 客户订单号 */
    @Excel(name = "客户订单号",needMerge = true)
    private String customerorder;

    /** 事务类型编码 */
    @Excel(name = "事务类型编码",needMerge = true)
    private String transactiontype;

    /** 厂编 */
    @Excel(name = "厂编",needMerge = true)
    private String factorymake;

    /** 下单人员 */
    @Excel(name = "下单人员",needMerge = true)
    private String orderissuer;

    /** 订单含税总金额 */
    @Excel(name = "订单含税总金额",needMerge = true)
    private BigDecimal ordertaxamount;

    /** 订单不含税总金额 */
    @Excel(name = "订单不含税总金额",needMerge = true)
    private BigDecimal orderamount;

    /** 下单日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "下单日期", width = 30, dateFormat = "yyyy-MM-dd",needMerge = true)
    private Date tradecreatedat;

    /** 需求日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "需求日期", width = 30, dateFormat = "yyyy-MM-dd",needMerge = true)
    private Date podate;

    /** 开票组织 */
    @Excel(name = "开票组织",needMerge = true)
    private String salescostcenter;

    /** 销售成本中心 */
    @Excel(name = "销售成本中心",needMerge = true)
    private String invoiceorganization;

    /** 渠道类型 */
    @Excel(name = "渠道类型",needMerge = true)
    private String channeltype;

    /** 销售组织仓库 */
    @Excel(name = "销售组织仓库",needMerge = true)
    private String saleswarehouse;

    /** 路线 */
    @Excel(name = "路线",needMerge = true)
    private String route;

    /** 督导 */
    @Excel(name = "督导",needMerge = true)
    private String supervision;

    /** 出货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出货时间", width = 30, dateFormat = "yyyy-MM-dd",needMerge = true)
    private Date shippingtime;

    /** 省 */
    @Excel(name = "省",needMerge = true)
    private String shiptostate;

    /** 市 */
    @Excel(name = "市",needMerge = true)
    private String shiptocity;

    /** 区 */
    @Excel(name = "区",needMerge = true)
    private String shiptodistrict;

    /** 地址 */
    @Excel(name = "地址",needMerge = true)
    private String shiptoaddress;

    /** 联系人 */
    @Excel(name = "联系人",needMerge = true)
    private String shiptoattentionto;

    /** 电话号码 */
    @Excel(name = "电话号码",needMerge = true)
    private String shiptomobile;

    /** 是否补单 */
    @Excel(name = "是否补单",needMerge = true)
    private Long ispatchorder;

    /** 备注 */
    @Excel(name = "备注",needMerge = true)
    private String hasnote;

    /** 币别 */
    @Excel(name = "币别",needMerge = true)
    private String currency;

    /** 汇率 */
    @Excel(name = "汇率",needMerge = true)
    private BigDecimal exchangerate;

    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd",needMerge = true)
    private Date createtime;



    /** OMS销售订单明细信息 */
    @Excel(name = "销售订单分录")
    private List<OmsSaleorderbillentry> omsSaleorderbillentryList;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setCode(String code)
    {
        this.code = code;
    }

    public String getCode()
    {
        return code;
    }
    public void setSourceplatformcode(String sourceplatformcode)
    {
        this.sourceplatformcode = sourceplatformcode;
    }

    public String getSourceplatformcode()
    {
        return sourceplatformcode;
    }
    public void setSourceordertype(String sourceordertype)
    {
        this.sourceordertype = sourceordertype;
    }

    public String getSourceordertype()
    {
        return sourceordertype;
    }
    public void setPotype(String potype)
    {
        this.potype = potype;
    }

    public String getPotype()
    {
        return potype;
    }
    public void setCustomercode(String customercode)
    {
        this.customercode = customercode;
    }

    public String getCustomercode()
    {
        return customercode;
    }
    public void setCustomerorder(String customerorder)
    {
        this.customerorder = customerorder;
    }

    public String getCustomerorder()
    {
        return customerorder;
    }
    public void setTransactiontype(String transactiontype)
    {
        this.transactiontype = transactiontype;
    }

    public String getTransactiontype()
    {
        return transactiontype;
    }
    public void setFactorymake(String factorymake)
    {
        this.factorymake = factorymake;
    }

    public String getFactorymake()
    {
        return factorymake;
    }
    public void setOrderissuer(String orderissuer)
    {
        this.orderissuer = orderissuer;
    }

    public String getOrderissuer()
    {
        return orderissuer;
    }
    public void setOrdertaxamount(BigDecimal ordertaxamount)
    {
        this.ordertaxamount = ordertaxamount;
    }

    public BigDecimal getOrdertaxamount()
    {
        return ordertaxamount;
    }
    public void setOrderamount(BigDecimal orderamount)
    {
        this.orderamount = orderamount;
    }

    public BigDecimal getOrderamount()
    {
        return orderamount;
    }
    public void setTradecreatedat(Date tradecreatedat)
    {
        this.tradecreatedat = tradecreatedat;
    }

    public Date getTradecreatedat()
    {
        return tradecreatedat;
    }
    public void setPodate(Date podate)
    {
        this.podate = podate;
    }

    public Date getPodate()
    {
        return podate;
    }
    public void setSalescostcenter(String salescostcenter)
    {
        this.salescostcenter = salescostcenter;
    }

    public String getSalescostcenter()
    {
        return salescostcenter;
    }
    public void setInvoiceorganization(String invoiceorganization)
    {
        this.invoiceorganization = invoiceorganization;
    }

    public String getInvoiceorganization()
    {
        return invoiceorganization;
    }
    public void setChanneltype(String channeltype)
    {
        this.channeltype = channeltype;
    }

    public String getChanneltype()
    {
        return channeltype;
    }
    public void setSaleswarehouse(String saleswarehouse)
    {
        this.saleswarehouse = saleswarehouse;
    }

    public String getSaleswarehouse()
    {
        return saleswarehouse;
    }
    public void setRoute(String route)
    {
        this.route = route;
    }

    public String getRoute()
    {
        return route;
    }
    public void setSupervision(String supervision)
    {
        this.supervision = supervision;
    }

    public String getSupervision()
    {
        return supervision;
    }
    public void setShippingtime(Date shippingtime)
    {
        this.shippingtime = shippingtime;
    }

    public Date getShippingtime()
    {
        return shippingtime;
    }
    public void setShiptostate(String shiptostate)
    {
        this.shiptostate = shiptostate;
    }

    public String getShiptostate()
    {
        return shiptostate;
    }
    public void setShiptocity(String shiptocity)
    {
        this.shiptocity = shiptocity;
    }

    public String getShiptocity()
    {
        return shiptocity;
    }
    public void setShiptodistrict(String shiptodistrict)
    {
        this.shiptodistrict = shiptodistrict;
    }

    public String getShiptodistrict()
    {
        return shiptodistrict;
    }
    public void setShiptoaddress(String shiptoaddress)
    {
        this.shiptoaddress = shiptoaddress;
    }

    public String getShiptoaddress()
    {
        return shiptoaddress;
    }
    public void setShiptoattentionto(String shiptoattentionto)
    {
        this.shiptoattentionto = shiptoattentionto;
    }

    public String getShiptoattentionto()
    {
        return shiptoattentionto;
    }
    public void setShiptomobile(String shiptomobile)
    {
        this.shiptomobile = shiptomobile;
    }

    public String getShiptomobile()
    {
        return shiptomobile;
    }
    public void setIspatchorder(Long ispatchorder)
    {
        this.ispatchorder = ispatchorder;
    }

    public Long getIspatchorder()
    {
        return ispatchorder;
    }
    public void setHasnote(String hasnote)
    {
        this.hasnote = hasnote;
    }

    public String getHasnote()
    {
        return hasnote;
    }
    public void setCurrency(String currency)
    {
        this.currency = currency;
    }

    public String getCurrency()
    {
        return currency;
    }
    public void setExchangerate(BigDecimal exchangerate)
    {
        this.exchangerate = exchangerate;
    }

    public BigDecimal getExchangerate()
    {
        return exchangerate;
    }

    public Date getCreatetime() {
        return createtime;
    }

    public void setCreatetime(Date createtime) {
        this.createtime = createtime;
    }

    public List<OmsSaleorderbillentry> getOmsSaleorderbillentryList()
    {
        return omsSaleorderbillentryList;
    }

    public void setOmsSaleorderbillentryList(List<OmsSaleorderbillentry> omsSaleorderbillentryList)
    {
        this.omsSaleorderbillentryList = omsSaleorderbillentryList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("code", getCode())
            .append("sourceplatformcode", getSourceplatformcode())
            .append("sourceordertype", getSourceordertype())
            .append("potype", getPotype())
            .append("customercode", getCustomercode())
            .append("customerorder", getCustomerorder())
            .append("transactiontype", getTransactiontype())
            .append("factorymake", getFactorymake())
            .append("orderissuer", getOrderissuer())
            .append("ordertaxamount", getOrdertaxamount())
            .append("orderamount", getOrderamount())
            .append("tradecreatedat", getTradecreatedat())
            .append("podate", getPodate())
            .append("salescostcenter", getSalescostcenter())
            .append("invoiceorganization", getInvoiceorganization())
            .append("channeltype", getChanneltype())
            .append("saleswarehouse", getSaleswarehouse())
            .append("route", getRoute())
            .append("supervision", getSupervision())
            .append("shippingtime", getShippingtime())
            .append("shiptostate", getShiptostate())
            .append("shiptocity", getShiptocity())
            .append("shiptodistrict", getShiptodistrict())
            .append("shiptoaddress", getShiptoaddress())
            .append("shiptoattentionto", getShiptoattentionto())
            .append("shiptomobile", getShiptomobile())
            .append("ispatchorder", getIspatchorder())
            .append("hasnote", getHasnote())
            .append("currency", getCurrency())
            .append("exchangerate", getExchangerate())
            .append("createtime", getCreatetime())
            .append("omsSaleorderbillentryList", getOmsSaleorderbillentryList())
            .toString();
    }
}
